﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Sinacor.Infra.InputTester.Model
{
    /// <summary>
    /// Armazena propriedades configuráveis
    /// </summary>
    public class Propriedade
    {

        #region Campos

        private Boolean _isFormated = false;
        private Boolean _isRequired = false;
        private String _requiredErrorMessage = String.Empty;
        private Boolean _acceptsNegative = false;
        private Boolean _autoFill = false;
        private Int32? _integers = null;
        private Int32? _decimals = null;
        private Int64? _maxValue = null;
        private Int64? _minValue = null;

        private Boolean _showCPF = false;
        private Boolean _showClienteEstrangeiro = false;
        private Boolean _showCNPJ = false;
        private Boolean _showCVM = false;
        private Boolean _showOutros = false;

        #endregion

        #region Propriedades

        /// <summary>
        /// Is Formated
        /// </summary>
        public Boolean IsFormated
        {
            get { return _isFormated; }
            set { _isFormated = value; }
        }

        /// <summary>
        /// IsRequired
        /// </summary>
        public Boolean IsRequired
        {
            get { return _isRequired; }
            set { _isRequired = value; }
        }

        /// <summary>
        /// RequiredErrorMessage
        /// </summary>
        public String RequiredErrorMessage
        {
            get { return _requiredErrorMessage; }
            set { _requiredErrorMessage = value; }
        }

        /// <summary>
        /// Accepts Negative
        /// </summary>
        public Boolean AcceptsNegative
        {
            get { return _acceptsNegative; }
            set { _acceptsNegative = value; }
        }

        /// <summary>
        /// Integers
        /// </summary>
        public Int32? Integers
        {
            get { return _integers; }
            set { _integers = value; }
        }

        /// <summary>
        /// Decimals
        /// </summary>
        public Int32? Decimals
        {
            get { return _decimals; }
            set { _decimals = value; }
        }

        /// <summary>
        /// Valor Máximo
        /// </summary>
        public Int64? MaxValue
        {
            get { return _maxValue; }
            set { _maxValue = value; }
        }

        /// <summary>
        /// Valor mínimo
        /// </summary>
        public Int64? MinValue
        {
            get { return _minValue; }
            set { _minValue = value; }
        }

        /// <summary>
        /// Auto Fill
        /// </summary>
        public Boolean AutoFill
        {
            get { return _autoFill; }
            set { _autoFill = value; }
        }

        /// <summary>
        /// ShowCPF
        /// </summary>
        public Boolean ShowCPF
        {
            get { return _showCPF; }
            set { _showCPF = value; }
        }

        /// <summary>
        /// ShowCNPJ
        /// </summary>
        public Boolean ShowCNPJ
        {
            get { return _showCNPJ; }
            set { _showCNPJ = value; }
        }

        /// <summary>
        /// ShowCVM
        /// </summary>
        public Boolean ShowCVM
        {
            get { return _showCVM; }
            set { _showCVM = value; }
        }

        /// <summary>
        /// ShowClienteEstrangeiro
        /// </summary>
        public Boolean ShowClienteEstrangeiro
        {
            get { return _showClienteEstrangeiro; }
            set { _showClienteEstrangeiro = value; }
        }

        /// <summary>
        /// ShowOutros
        /// </summary>
        public Boolean ShowOutros
        {
            get { return _showOutros; }
            set { _showOutros = value; }
        }

        #endregion

    }
}
